package com.hongxun.project.assets.iMaterial.service;

import java.util.List;
import java.util.UUID;

import com.hongxun.common.utils.bean.BeanUtils;
import com.hongxun.project.assets.iBoxes.domain.IBoxes;
import com.hongxun.project.assets.pBoxes.domain.PBoxes;
import com.hongxun.project.assets.pMaterial.domain.PMaterial;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hongxun.project.assets.iMaterial.mapper.IMaterialMapper;
import com.hongxun.project.assets.iMaterial.domain.IMaterial;
import com.hongxun.project.assets.iMaterial.service.IIMaterialService;
import com.hongxun.common.utils.text.Convert;

/**
 * 配电材料 服务层实现
 * 
 * @author hongxun
 * @date 2019-03-19
 */
@Service
public class IMaterialServiceImpl implements IIMaterialService 
{
	@Autowired
	private IMaterialMapper iMaterialMapper;

	/**
     * 查询配电材料信息
     * 
     * @param id 配电材料ID
     * @return 配电材料信息
     */
    @Override
	public IMaterial selectIMaterialById(String id)
	{
	    return iMaterialMapper.selectIMaterialById(id);
	}
	
	/**
     * 查询配电材料列表
     * 
     * @param iMaterial 配电材料信息
     * @return 配电材料集合
     */
	@Override
	public List<IMaterial> selectIMaterialList(IMaterial iMaterial)
	{
	    return iMaterialMapper.selectIMaterialList(iMaterial);
	}

	@Override
	public List<IMaterial> getBigType(IMaterial iMaterial)
	{
	    return iMaterialMapper.getBigType(iMaterial);
	}
	@Override
	public List<IMaterial> getBigTypeForJK(IMaterial iMaterial)
	{
	    return iMaterialMapper.getBigTypeForJK(iMaterial);
	}
	@Override
	public List<IMaterial> getBigTypeForDL(IMaterial iMaterial)
	{
	    return iMaterialMapper.getBigTypeForDL(iMaterial);
	}


    /**
     * 新增配电材料
     * 
     * @param iMaterial 配电材料信息
     * @return 结果
     */
	@Override
	public int insertIMaterial(IMaterial iMaterial)
	{
		iMaterial.setId(UUID.randomUUID().toString());
	    return iMaterialMapper.insertIMaterial(iMaterial);
	}
	
	/**
     * 修改配电材料
     * 
     * @param iMaterial 配电材料信息
     * @return 结果
     */
	@Override
	public int updateIMaterial(IMaterial iMaterial)
	{
	    return iMaterialMapper.updateIMaterial(iMaterial);
	}

	/**
     * 删除配电材料对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@Override
	public int deleteIMaterialByIds(String ids)
	{
		return iMaterialMapper.deleteIMaterialByIds(Convert.toStrArray(ids));
	}



	public void file(List<PMaterial> pMaterial) {
		for (PMaterial p : pMaterial) {
			if (p.getDatastate().equals("删除")) {
				deleteIMaterialByIds(p.getId());
			} else {
				IMaterial i = new IMaterial();
				BeanUtils.copyBeanProp(i, p);
				if (selectIMaterialById(p.getId()) != null) {
					updateIMaterial(i);
				} else {
					iMaterialMapper.insertIMaterial(i);
				}
			}
		}
	}
}
